package com.yhsimon;

import java.io.DataInputStream;
import java.io.FileInputStream;

/**
 * @author： YHSimon
 * @date： 2021-09-01 20:04
 */
public class Decorator {
    public static void main(String[] args) throws Exception {
        //说明
        //1. InputStream 是抽象类, 类似我们前面讲的Drink
        //2. FileInputStream 是InputStream 子类，类似我们前面的DeCaf, LongBlack
        //3. FilterInputStream 是InputStream 子类：类似我们前面的Decorator 修饰者
        //4. DataInputStream 是FilterInputStream 子类，具体的修饰者，类似前面的Milk, Soy 等
        //5. FilterInputStream 类有protected volatile InputStream in; 即含被装饰者
        //6. 分析得出在jdk 的io 体系中，就是使用装饰者模式
        DataInputStream dis = new DataInputStream(new FileInputStream("D:/a.txt"));
        System.out.println(dis.read());
        dis.close();
    }
}
